package cn.yuanqiao.archive.bianyan.mapper;

import cn.yuanqiao.archive.appManager.domain.TenantYqdaDocument;
import cn.yuanqiao.archive.bianyan.domain.SourceMaterial;
import cn.yuanqiao.archive.bianyan.domain.SpecialSubjectContenr;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 专题统稿内容Mapper接口
 * 
 * @author xy
 * @date 2023-09-13
 */
@Mapper
public interface SpecialSubjectContenrMapper 
{
    /**
     * 查询专题统稿内容
     * 
     * @param id 专题统稿内容主键
     * @return 专题统稿内容
     */
    public SpecialSubjectContenr selectSpecialSubjectContenrById(@Param("typeId") Long typeId, @Param("tableName") String tableName);

    /**
     * 查询专题统稿内容列表
     * 
     * @param specialSubjectContenr 专题统稿内容
     * @return 专题统稿内容集合
     */
    public List<SpecialSubjectContenr> selectSpecialSubjectContenrList(SpecialSubjectContenr specialSubjectContenr);

    /**
     * 新增专题统稿内容
     * 
     * @param specialSubjectContenr 专题统稿内容
     * @return 结果
     */
    public int insertSpecialSubjectContenr(SpecialSubjectContenr specialSubjectContenr);

    /**
     * 修改专题统稿内容
     * 
     * @param specialSubjectContenr 专题统稿内容
     * @return 结果
     */
    public int updateSpecialSubjectContenr(SpecialSubjectContenr specialSubjectContenr);

    /**
     * 删除专题统稿内容
     * 
     * @param id 专题统稿内容主键
     * @return 结果
     */
    public int deleteSpecialSubjectContenrById(Long id);

    /**
     * 批量删除专题统稿内容
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSpecialSubjectContenrByIds(Long[] ids);

    String getFileTableName(@Param("code") String code, @Param("daId") String daId);

    List<SourceMaterial> selectSourceMaterialByDaId(@Param("efileTableName") String efileTableName, @Param("daId") String daId, @Param("categoryId")String categoryId);

    List<SourceMaterial> selectSourceMaterialByMaterialIds(@Param("materialIds") String materialIds, @Param("tableName") String tableName);

    String getCategoryId(@Param("code") String code, @Param("daId") String daId);

    String getFileTableNameByCategoryId(@Param("code") String code, @Param("categoryId") String categoryId);

    SourceMaterial selectSourceMaterialByDocId(@Param("efileTableName") String efileTableName, @Param("docId") String docId, @Param("categoryId") Long categoryId);

    TenantYqdaDocument viewByDocid(@Param("docId")Long docId, @Param("efiletable") String efiletable);

}
